#!/bin/bash

# 镜像仓库地址
harbor=192.168.2.30
project=mango-10d
source_url='http://192.168.2.30:8090/12f-source'

# 进入当前脚本所在路径
cd $(cd `dirname $0`;pwd)

# 获取当前模块名称
module=$(awk '/<artifactId>[^<]+<\/artifactId>/{gsub(/<artifactId>|<\/artifactId>/,"",$1);print $1;exit;}' ./pom.xml)

# 当前模块资源所在服务器路径
dockerfile_url="${source_url}/dockerfile/${module}"

# 获取对应模块Dockerfile资源文件 && 下载
file_list=$(curl -s ${dockerfile_url}/ | grep '^<a' | sed -e 's/<[^>]*>//g' | awk '{print $1}')
mkdir -p ./target
for file in $file_list; do
    if [ "$file" == 'Dockerfile' ]; then
        curl -so ./src/main/docker/Dockerfile ${dockerfile_url}/${file}
    fi
    curl -so ./target/${file} ${dockerfile_url}/${file}
    chmod +x ./target/${file}
done

# 获取容器启动 yml 文件
curl -so ./${module}.yml ${source_url}/mango-yml/${module}.yml

# pom.xml 增加docker参数
sed -i 's#<tag>latest</tag>#<tag>${project.version}</tag>#' pom.xml
sed -i "s#<repository>.*#<repository>${harbor}/${project}/\${project.artifactId}</repository>#" pom.xml
sed -i 's#<dockerfile-maven-plugin.version>1.3.4</dockerfile-maven-plugin.version>#<dockerfile-maven-plugin.version>1.4.13</dockerfile-maven-plugin.version>#' pom.xml

# 删除上次生成的 war/jar 包(docker 使用通配符添加包到容器内)
rm -f ./target/*.war ./target/*.jar

# 构建命令
# mvn clean package -Dmaven.test.skip=true dockerfile:build dockerfile:push -Ddockerfile.username=admin -Ddockerfile.password=admin